1. Field of the Invention
In recent years, in additional to quality guaranteed services, exemplified by Constant Bit Rate (CBR) and Variable Bit Rate (VBR) services that provide quality guarantees for cell discard rates, delay characteristics, etc. by specifying user cell transfer rates such as peak cell rate and sustainable cell rate (average cell rate), the provision of best effort services, exemplified by Available Bit Rate (ABR) and Unspecified Bit Rate (UBR) services in which quality guarantee is held to a minimum but, instead, user traffic is accommodated as long as bandwidth is available within the network, have been proposed aiming at providing a low-cost service.
The present invention relates to a bandwidth control apparatus, for inserting management cells such as OAM (Operation and Maintenance) cells, in ATM equipment such as an ATM exchange and other ATM communication equipment or a packet communication equipment that provide the quality guaranteed and the best effort services described above.
2. Description of the Related Art
FIG. 27 is a diagram for explaining a prior art bandwidth control apparatus in ATM equipment. In the figure, reference numeral 27-10 is a cell insertion block, 27-11 is an insertion cell generator, 27-12 is a cell insertion queue, 27-20 is a shaping block having an empty cell insertion function, 27-21 is a cell readout controller, 27-22 is a shaping buffer, and 27-30 is a cell highway.
The shaping buffer 27-22 accumulates user cells received from the cell highway 27-30, and the cell readout controller 27-21 performs shaping by controlling cell readout so that the user cells are read out of the shaping buffer 27-22 so as not to exceed a predetermined bandwidth, that is, at a rate averaged so that the transmission rate of the user cells at any instant does not exceed a predetermined value.
Further, the cell readout controller 27-21 controls the cell readout from the shaping buffer 27-22 so that empty cells for insertion of management cells such as OAM cells are inserted between user cells at a pre-estimated fixed rate.
A management cell such as an OAM cell is generated by the insertion cell generator 27-11 and stored in the cell insertion queue 27-12, and when an empty cell arrives on the cell highway 27-30, the management cell is read out of the cell insertion queue 27-12 and written over the empty cell for transmission on the cell highway 27-30.
In this way, in the prior art, the cell readout controller 27-21 has reserved in advance a bandwidth for the insertion of management cells such as OAM cells separately from a bandwidth for user service in order to allow the insertion of management cells such as OAM cells while guaranteeing required bandwidth for user cells. Accordingly, the bandwidth for the insertion of management cells such as OAM cells has/had to be secured at all times regardless of whether there arises the need to insert a management cell such as an OAM cell.
Japanese Unexamined Patent Publication No. 3-71749 (Japanese Patent Application No. 1-208237) discloses an ATM cell insertion method that inserts a cell on the highway when cell insertion becomes necessary, but this method has been intended to insert a cell within a prescribed time after the occurrence of a cell which needs to be inserted, regardless of the quality of service provided to the user.
In the configuration in which the bandwidth for the insertion of management cells such as OAM cells is reserved on a permanent basis, as in the prior art example shown in FIG. 27, the bandwidth for the largest management cell or OAM cell expected to be inserted must be reserved fixedly, and empty cells are inserted at a predetermined rate even at times when there is no need to insert management cells such as OAM cells; this has lead to the problem that the bandwidth indicated by oblique hatching in FIG. 27, where no management cells such as OAM cells are inserted, is not utilized effectively thus wasting the bandwidth.
On the other hand, in the configuration in which management cells such as OAM cells are inserted by the ATM cell insertion method described in the above-cited Patent Publication, when a management cell such as an OAM cell to be inserted occurs, the management cell or OAM cell is inserted by stopping the transmission of user cells regardless of the quality of service for the user cells; this can cause user cell delay or discarding, resulting in the problem of being unable to guarantee the required quality of service for the user cells.
An object of the preset invention is to make effective use of network resources by not reserving in advance the bandwidth for the insertion of management cells such as OAM cells but securing the OAM cell or management cell insertion bandwidth only when the need arises, while guaranteeing the required quality of service for user cells, and by allocating that bandwidth for the transmission of cells of best effort service such as ABR or UBR when no OAM cells or like management cells are being inserted.
(1) A bandwidth control apparatus in ATM equipment, according to the present invention, comprises: a buffer for accumulating received user cells; readout control means for reading out the user cells within a predetermined bandwidth from the buffer; and means for controlling the readout control means in response to a management cell transmission request so that the user cells are read out of the buffer in such a manner as to allow a management cell to be inserted.
(2) A bandwidth control apparatus in ATM equipment, according to the present invention, comprises a cell insertion block for inserting a management cell and a shaping block for shaping a user cell, wherein: the cell insertion block includes means for sending an empty cell insertion request to the shaping block;when a cell insertion request occurs, and means for writing an insertion cell into an empty cell inserted on a cell highway, and the shaping block includes means for generating the empty cell when the empty cell insertion request is received from the cell insertion block, and for inserting the empty cell on the cell highway, and wherein: only when a management cell insertion request occurs, the management cell is inserted by allocating a bandwidth thereto.
(3) When sending the empty cell insertion request, the cell insertion block reports the quality of service class of the insertion cell, and the shaping block inserts the empty cell based on the reported quality of service class.
(4) When sending the empty cell insertion request, the cell insertion block reports the line identifier of the insertion cell, and the shaping block inserts the empty cell based on the reported line identifier.
(5) When sending the empty cell insertion request, the cell insertion block reports the connection identifier of the insertion cell, and the shaping block inserts the empty cell based on the reported connection identifier.
(6) When sending the empty cell insertion request, the cell insertion block transmits information containing all of the quality of service class, line identifier, and connection identifier of the insertion cell, or a combination of two of them, and the shaping block inserts the empty cell based on the transmitted information of the insertion cell.
(7) When sending a request for the insertion of a plurality of empty cells, the cell insertion block transmits the same empty cell insertion request information repeatedly a plurality of times.
(8) When sending a request for the insertion of a plurality of empty cells, the cell insertion block reports the number of repetitions of the same cell insertion request information.
(9) The cell insertion block includes a cell insertion queue, and sends the empty cell insertion request to the shaping block when writing the insertion cell to the cell insertion queue.
(10) The cell insertion block includes means for monitoring the queue length of the cell insertion queue, and sends the empty cell insertion request to the shaping block when the queue length has exceeded a predetermined threshold value.
(11) The shaping block includes an empty cell counter or empty cell request queue for holding the number of empty cell requests received from the cell insertion block, the empty cell counter being configured to manage the insertion of empty cells separately from a shaping buffer.
(12) The shaping block includes means for writing the empty cell at the head or the tail of a user cell queue in a shaping buffer when the empty cell insertion request is received from the cell insertion block, the shaping block being configured to centrally manage insertion empty cells and user cells by using the shaping buffer.
(13) The shaping block is provided with the empty cell counter for each line identified.
(14) The shaping block is provided with the empty cell counter for each connection identifier.
(15) The shaping block is provided with the empty cell counter for each quality of service class.
(16) The shaping block is provided with the empty cell counter for each of the line identifier, the connection identifier, and the quality of service class or for each combination of two of them.
(17) The shaping block includes means for performing bandwidth control by assuming that a user cell has been read out of the shaping buffer when inserting the empty cell, the shaping block being configured to perform shaping by including an empty cell bandwidth within a user cell bandwidth.
(18) The shaping block includes means for performing control so as not to read out a user cell from the shaping buffer when inserting the empty cell but to read out the user cell after the insertion of the empty cell, the shaping block being configured to perform shaping for an empty cell bandwidth and a user cell bandwidth separately from each other.
(19) The shaping block assigns one quality of service class to requested empty cells, and inserts the empty cells on the cell highway at a predetermined rate.
(20) The shaping block assigns one quality of service class to requested empty cells, and reads out the empty cells onto the cell highway when user cells of another higher priority quality of service classes are not being read out.
(21) Between the empty cells and user cells assigned a quality of service class that allows the user cells to be read out when cells of other higher priority quality of service classes are not being read out, the shaping block reads out the user cells or the empty cells in accordance with priority predetermined between the user cells and the empty cells.
(22) The shaping block assigns as the quality of service class of requested empty cells the same quality of service class as one of the quality of service classes assigned to user cells, and reads out the empty cells onto the cell highway.
(23) The shaping block reads out user cells or empty cells in accordance with priority predetermined between the user cells and the empty cells.
(24) The shaping block reads out empty cells and user cells alternately at a predetermined ratio onto the cell highway.
(25) The shaping block assigns to the requested empty cells one or more quality of service classes selected from among a plurality of quality of service classes.